{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Mini Pokemon Classification using Mobilenet.ipynb",
      "provenance": []
    },
    "kernelspec": {
      "name": "python3",
      "display_name": "Python 3"
    },
    "accelerator": "GPU"
  },
  "cells": [
    {
      "cell_type": "code",
      "metadata": {
        "id": "eMCLkyRH2Rng",
        "colab_type": "code",
        "outputId": "5733f181-996d-4308-db30-1aec4924ea7a",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 122
        }
      },
      "source": [
        "from google.colab import drive\n",
        "drive.mount('/content/drive')"
      ],
      "execution_count": 1,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Go to this URL in a browser: https://accounts.google.com/o/oauth2/auth?client_id=947318989803-6bn6qk8qdgf4n4g3pfee6491hc0brc4i.apps.googleusercontent.com&redirect_uri=urn%3aietf%3awg%3aoauth%3a2.0%3aoob&response_type=code&scope=email%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdocs.test%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive%20https%3a%2f%2fwww.googleapis.com%2fauth%2fdrive.photos.readonly%20https%3a%2f%2fwww.googleapis.com%2fauth%2fpeopleapi.readonly\n",
            "\n",
            "Enter your authorization code:\n",
            "··········\n",
            "Mounted at /content/drive\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "sQU0U--51wdf",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "folder_path = 'drive/My Drive/pokedex'"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "abHQHvWY2SON",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "d625c451-0e1c-49f7-ac1c-8f40be876ff4"
      },
      "source": [
        "import os\n",
        "from keras.preprocessing import image"
      ],
      "execution_count": 3,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Using TensorFlow backend.\n"
          ],
          "name": "stderr"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "GVKrgcP_2nMn",
        "colab_type": "code",
        "outputId": "ce9a42c8-aa36-42b8-d9cd-0726f8fc3689",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        }
      },
      "source": [
        "folders = os.listdir(folder_path)\n",
        "print(folders)"
      ],
      "execution_count": 4,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "['Meowth', 'Pikachu', 'Bulbasaur']\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "AWCsENnN2pYK",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "image_data = []\n",
        "labels = []\n",
        "\n",
        "label_dict = {\n",
        "    \"Meowth\":0,\n",
        "    \"Pikachu\":1,\n",
        "    \"Bulbasaur\":2\n",
        "}"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "MtWav7re2qgB",
        "colab_type": "code",
        "outputId": "e3d8c9f1-ff35-4cb0-8b6c-4f89b8558b9c",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 71
        }
      },
      "source": [
        "for ix in folders:\n",
        "  path = os.path.join(folder_path,ix)\n",
        "  for im in os.listdir(path):\n",
        "    img = image.load_img(os.path.join(path,im),target_size=(224,224))\n",
        "    img_array = image.img_to_array(img)\n",
        "    image_data.append(img_array)\n",
        "    labels.append(label_dict[ix])"
      ],
      "execution_count": 6,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "/usr/local/lib/python3.6/dist-packages/PIL/Image.py:932: UserWarning: Palette images with Transparency expressed in bytes should be converted to RGBA images\n",
            "  \"Palette images with Transparency expressed in bytes should be \"\n"
          ],
          "name": "stderr"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "n1juEI5G2r48",
        "colab_type": "code",
        "outputId": "2d754eb8-b652-447e-83cf-d9754fe1ced8",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        }
      },
      "source": [
        "print(len(image_data), len(labels))"
      ],
      "execution_count": 7,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "663 663\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "cDM6xVp22t75",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "import random\n",
        "combined = list(zip(image_data,labels))\n",
        "random.shuffle(combined)\n",
        "\n",
        "image_data[:], labels[:] = zip(*combined)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "JVxuL8Ju2vM1",
        "colab_type": "code",
        "outputId": "c7e6261c-6119-4819-85a5-fe6b07664de9",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 51
        }
      },
      "source": [
        "print(type(combined[0]))\n",
        "print(len(combined[0]))"
      ],
      "execution_count": 9,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "<class 'tuple'>\n",
            "2\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "yDi1ymAj2xTQ",
        "colab_type": "code",
        "outputId": "91583005-442e-4375-dd9f-53082bfb5e86",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        }
      },
      "source": [
        "import numpy as np\n",
        "XTrain = np.array(image_data)\n",
        "YTrain = np.array(labels)\n",
        "\n",
        "print(XTrain.shape,YTrain.shape)"
      ],
      "execution_count": 10,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "(663, 224, 224, 3) (663,)\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "60idK4Ar2ysl",
        "colab_type": "code",
        "outputId": "cee75b13-5758-43dd-fbf7-7b90daf59621",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        }
      },
      "source": [
        "from keras.utils import np_utils\n",
        "YTrain = np_utils.to_categorical(YTrain)\n",
        "print(XTrain.shape,YTrain.shape)"
      ],
      "execution_count": 11,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "(663, 224, 224, 3) (663, 3)\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "FLXvOEO620Lz",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "import tensorflow as tf\n",
        "from tensorflow.python.keras.optimizers import Adam\n",
        "from tensorflow.python.keras.layers import *\n",
        "from tensorflow.python.keras.models import Model\n",
        "import matplotlib.pyplot as plt"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "1j4feEnr3hDh",
        "colab_type": "code",
        "outputId": "61b226ad-61e7-4e04-8dec-e3670e971e2e",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        }
      },
      "source": [
        "\n",
        "mobile_model = tf.keras.applications.MobileNetV2(include_top=False,weights='imagenet',input_shape=(224,224,3))\n",
        "mobile_model.summary()"
      ],
      "execution_count": 31,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Downloading data from https://storage.googleapis.com/tensorflow/keras-applications/mobilenet_v2/mobilenet_v2_weights_tf_dim_ordering_tf_kernels_1.0_224_no_top.h5\n",
            "9412608/9406464 [==============================] - 0s 0us/step\n",
            "Model: \"mobilenetv2_1.00_224\"\n",
            "__________________________________________________________________________________________________\n",
            "Layer (type)                    Output Shape         Param #     Connected to                     \n",
            "==================================================================================================\n",
            "input_2 (InputLayer)            [(None, 224, 224, 3) 0                                            \n",
            "__________________________________________________________________________________________________\n",
            "Conv1_pad (ZeroPadding2D)       (None, 225, 225, 3)  0           input_2[0][0]                    \n",
            "__________________________________________________________________________________________________\n",
            "Conv1 (Conv2D)                  (None, 112, 112, 32) 864         Conv1_pad[0][0]                  \n",
            "__________________________________________________________________________________________________\n",
            "bn_Conv1 (BatchNormalization)   (None, 112, 112, 32) 128         Conv1[0][0]                      \n",
            "__________________________________________________________________________________________________\n",
            "Conv1_relu (ReLU)               (None, 112, 112, 32) 0           bn_Conv1[0][0]                   \n",
            "__________________________________________________________________________________________________\n",
            "expanded_conv_depthwise (Depthw (None, 112, 112, 32) 288         Conv1_relu[0][0]                 \n",
            "__________________________________________________________________________________________________\n",
            "expanded_conv_depthwise_BN (Bat (None, 112, 112, 32) 128         expanded_conv_depthwise[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "expanded_conv_depthwise_relu (R (None, 112, 112, 32) 0           expanded_conv_depthwise_BN[0][0] \n",
            "__________________________________________________________________________________________________\n",
            "expanded_conv_project (Conv2D)  (None, 112, 112, 16) 512         expanded_conv_depthwise_relu[0][0\n",
            "__________________________________________________________________________________________________\n",
            "expanded_conv_project_BN (Batch (None, 112, 112, 16) 64          expanded_conv_project[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_1_expand (Conv2D)         (None, 112, 112, 96) 1536        expanded_conv_project_BN[0][0]   \n",
            "__________________________________________________________________________________________________\n",
            "block_1_expand_BN (BatchNormali (None, 112, 112, 96) 384         block_1_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_1_expand_relu (ReLU)      (None, 112, 112, 96) 0           block_1_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_1_pad (ZeroPadding2D)     (None, 113, 113, 96) 0           block_1_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_1_depthwise (DepthwiseCon (None, 56, 56, 96)   864         block_1_pad[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_1_depthwise_BN (BatchNorm (None, 56, 56, 96)   384         block_1_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_1_depthwise_relu (ReLU)   (None, 56, 56, 96)   0           block_1_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_1_project (Conv2D)        (None, 56, 56, 24)   2304        block_1_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_1_project_BN (BatchNormal (None, 56, 56, 24)   96          block_1_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_2_expand (Conv2D)         (None, 56, 56, 144)  3456        block_1_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_2_expand_BN (BatchNormali (None, 56, 56, 144)  576         block_2_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_2_expand_relu (ReLU)      (None, 56, 56, 144)  0           block_2_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_2_depthwise (DepthwiseCon (None, 56, 56, 144)  1296        block_2_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_2_depthwise_BN (BatchNorm (None, 56, 56, 144)  576         block_2_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_2_depthwise_relu (ReLU)   (None, 56, 56, 144)  0           block_2_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_2_project (Conv2D)        (None, 56, 56, 24)   3456        block_2_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_2_project_BN (BatchNormal (None, 56, 56, 24)   96          block_2_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_2_add (Add)               (None, 56, 56, 24)   0           block_1_project_BN[0][0]         \n",
            "                                                                 block_2_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_3_expand (Conv2D)         (None, 56, 56, 144)  3456        block_2_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_3_expand_BN (BatchNormali (None, 56, 56, 144)  576         block_3_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_3_expand_relu (ReLU)      (None, 56, 56, 144)  0           block_3_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_3_pad (ZeroPadding2D)     (None, 57, 57, 144)  0           block_3_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_3_depthwise (DepthwiseCon (None, 28, 28, 144)  1296        block_3_pad[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_3_depthwise_BN (BatchNorm (None, 28, 28, 144)  576         block_3_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_3_depthwise_relu (ReLU)   (None, 28, 28, 144)  0           block_3_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_3_project (Conv2D)        (None, 28, 28, 32)   4608        block_3_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_3_project_BN (BatchNormal (None, 28, 28, 32)   128         block_3_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_4_expand (Conv2D)         (None, 28, 28, 192)  6144        block_3_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_4_expand_BN (BatchNormali (None, 28, 28, 192)  768         block_4_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_4_expand_relu (ReLU)      (None, 28, 28, 192)  0           block_4_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_4_depthwise (DepthwiseCon (None, 28, 28, 192)  1728        block_4_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_4_depthwise_BN (BatchNorm (None, 28, 28, 192)  768         block_4_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_4_depthwise_relu (ReLU)   (None, 28, 28, 192)  0           block_4_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_4_project (Conv2D)        (None, 28, 28, 32)   6144        block_4_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_4_project_BN (BatchNormal (None, 28, 28, 32)   128         block_4_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_4_add (Add)               (None, 28, 28, 32)   0           block_3_project_BN[0][0]         \n",
            "                                                                 block_4_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_5_expand (Conv2D)         (None, 28, 28, 192)  6144        block_4_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_5_expand_BN (BatchNormali (None, 28, 28, 192)  768         block_5_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_5_expand_relu (ReLU)      (None, 28, 28, 192)  0           block_5_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_5_depthwise (DepthwiseCon (None, 28, 28, 192)  1728        block_5_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_5_depthwise_BN (BatchNorm (None, 28, 28, 192)  768         block_5_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_5_depthwise_relu (ReLU)   (None, 28, 28, 192)  0           block_5_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_5_project (Conv2D)        (None, 28, 28, 32)   6144        block_5_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_5_project_BN (BatchNormal (None, 28, 28, 32)   128         block_5_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_5_add (Add)               (None, 28, 28, 32)   0           block_4_add[0][0]                \n",
            "                                                                 block_5_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_6_expand (Conv2D)         (None, 28, 28, 192)  6144        block_5_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_6_expand_BN (BatchNormali (None, 28, 28, 192)  768         block_6_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_6_expand_relu (ReLU)      (None, 28, 28, 192)  0           block_6_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_6_pad (ZeroPadding2D)     (None, 29, 29, 192)  0           block_6_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_6_depthwise (DepthwiseCon (None, 14, 14, 192)  1728        block_6_pad[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_6_depthwise_BN (BatchNorm (None, 14, 14, 192)  768         block_6_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_6_depthwise_relu (ReLU)   (None, 14, 14, 192)  0           block_6_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_6_project (Conv2D)        (None, 14, 14, 64)   12288       block_6_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_6_project_BN (BatchNormal (None, 14, 14, 64)   256         block_6_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_7_expand (Conv2D)         (None, 14, 14, 384)  24576       block_6_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_7_expand_BN (BatchNormali (None, 14, 14, 384)  1536        block_7_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_7_expand_relu (ReLU)      (None, 14, 14, 384)  0           block_7_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_7_depthwise (DepthwiseCon (None, 14, 14, 384)  3456        block_7_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_7_depthwise_BN (BatchNorm (None, 14, 14, 384)  1536        block_7_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_7_depthwise_relu (ReLU)   (None, 14, 14, 384)  0           block_7_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_7_project (Conv2D)        (None, 14, 14, 64)   24576       block_7_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_7_project_BN (BatchNormal (None, 14, 14, 64)   256         block_7_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_7_add (Add)               (None, 14, 14, 64)   0           block_6_project_BN[0][0]         \n",
            "                                                                 block_7_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_8_expand (Conv2D)         (None, 14, 14, 384)  24576       block_7_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_8_expand_BN (BatchNormali (None, 14, 14, 384)  1536        block_8_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_8_expand_relu (ReLU)      (None, 14, 14, 384)  0           block_8_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_8_depthwise (DepthwiseCon (None, 14, 14, 384)  3456        block_8_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_8_depthwise_BN (BatchNorm (None, 14, 14, 384)  1536        block_8_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_8_depthwise_relu (ReLU)   (None, 14, 14, 384)  0           block_8_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_8_project (Conv2D)        (None, 14, 14, 64)   24576       block_8_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_8_project_BN (BatchNormal (None, 14, 14, 64)   256         block_8_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_8_add (Add)               (None, 14, 14, 64)   0           block_7_add[0][0]                \n",
            "                                                                 block_8_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_9_expand (Conv2D)         (None, 14, 14, 384)  24576       block_8_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_9_expand_BN (BatchNormali (None, 14, 14, 384)  1536        block_9_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_9_expand_relu (ReLU)      (None, 14, 14, 384)  0           block_9_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_9_depthwise (DepthwiseCon (None, 14, 14, 384)  3456        block_9_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_9_depthwise_BN (BatchNorm (None, 14, 14, 384)  1536        block_9_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_9_depthwise_relu (ReLU)   (None, 14, 14, 384)  0           block_9_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_9_project (Conv2D)        (None, 14, 14, 64)   24576       block_9_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_9_project_BN (BatchNormal (None, 14, 14, 64)   256         block_9_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_9_add (Add)               (None, 14, 14, 64)   0           block_8_add[0][0]                \n",
            "                                                                 block_9_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_10_expand (Conv2D)        (None, 14, 14, 384)  24576       block_9_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_10_expand_BN (BatchNormal (None, 14, 14, 384)  1536        block_10_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_10_expand_relu (ReLU)     (None, 14, 14, 384)  0           block_10_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_10_depthwise (DepthwiseCo (None, 14, 14, 384)  3456        block_10_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_10_depthwise_BN (BatchNor (None, 14, 14, 384)  1536        block_10_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_10_depthwise_relu (ReLU)  (None, 14, 14, 384)  0           block_10_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_10_project (Conv2D)       (None, 14, 14, 96)   36864       block_10_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_10_project_BN (BatchNorma (None, 14, 14, 96)   384         block_10_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_11_expand (Conv2D)        (None, 14, 14, 576)  55296       block_10_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_11_expand_BN (BatchNormal (None, 14, 14, 576)  2304        block_11_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_11_expand_relu (ReLU)     (None, 14, 14, 576)  0           block_11_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_11_depthwise (DepthwiseCo (None, 14, 14, 576)  5184        block_11_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_11_depthwise_BN (BatchNor (None, 14, 14, 576)  2304        block_11_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_11_depthwise_relu (ReLU)  (None, 14, 14, 576)  0           block_11_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_11_project (Conv2D)       (None, 14, 14, 96)   55296       block_11_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_11_project_BN (BatchNorma (None, 14, 14, 96)   384         block_11_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_11_add (Add)              (None, 14, 14, 96)   0           block_10_project_BN[0][0]        \n",
            "                                                                 block_11_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_12_expand (Conv2D)        (None, 14, 14, 576)  55296       block_11_add[0][0]               \n",
            "__________________________________________________________________________________________________\n",
            "block_12_expand_BN (BatchNormal (None, 14, 14, 576)  2304        block_12_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_12_expand_relu (ReLU)     (None, 14, 14, 576)  0           block_12_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_12_depthwise (DepthwiseCo (None, 14, 14, 576)  5184        block_12_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_12_depthwise_BN (BatchNor (None, 14, 14, 576)  2304        block_12_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_12_depthwise_relu (ReLU)  (None, 14, 14, 576)  0           block_12_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_12_project (Conv2D)       (None, 14, 14, 96)   55296       block_12_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_12_project_BN (BatchNorma (None, 14, 14, 96)   384         block_12_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_12_add (Add)              (None, 14, 14, 96)   0           block_11_add[0][0]               \n",
            "                                                                 block_12_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_13_expand (Conv2D)        (None, 14, 14, 576)  55296       block_12_add[0][0]               \n",
            "__________________________________________________________________________________________________\n",
            "block_13_expand_BN (BatchNormal (None, 14, 14, 576)  2304        block_13_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_13_expand_relu (ReLU)     (None, 14, 14, 576)  0           block_13_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_13_pad (ZeroPadding2D)    (None, 15, 15, 576)  0           block_13_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_13_depthwise (DepthwiseCo (None, 7, 7, 576)    5184        block_13_pad[0][0]               \n",
            "__________________________________________________________________________________________________\n",
            "block_13_depthwise_BN (BatchNor (None, 7, 7, 576)    2304        block_13_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_13_depthwise_relu (ReLU)  (None, 7, 7, 576)    0           block_13_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_13_project (Conv2D)       (None, 7, 7, 160)    92160       block_13_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_13_project_BN (BatchNorma (None, 7, 7, 160)    640         block_13_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_14_expand (Conv2D)        (None, 7, 7, 960)    153600      block_13_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_14_expand_BN (BatchNormal (None, 7, 7, 960)    3840        block_14_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_14_expand_relu (ReLU)     (None, 7, 7, 960)    0           block_14_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_14_depthwise (DepthwiseCo (None, 7, 7, 960)    8640        block_14_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_14_depthwise_BN (BatchNor (None, 7, 7, 960)    3840        block_14_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_14_depthwise_relu (ReLU)  (None, 7, 7, 960)    0           block_14_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_14_project (Conv2D)       (None, 7, 7, 160)    153600      block_14_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_14_project_BN (BatchNorma (None, 7, 7, 160)    640         block_14_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_14_add (Add)              (None, 7, 7, 160)    0           block_13_project_BN[0][0]        \n",
            "                                                                 block_14_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_15_expand (Conv2D)        (None, 7, 7, 960)    153600      block_14_add[0][0]               \n",
            "__________________________________________________________________________________________________\n",
            "block_15_expand_BN (BatchNormal (None, 7, 7, 960)    3840        block_15_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_15_expand_relu (ReLU)     (None, 7, 7, 960)    0           block_15_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_15_depthwise (DepthwiseCo (None, 7, 7, 960)    8640        block_15_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_15_depthwise_BN (BatchNor (None, 7, 7, 960)    3840        block_15_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_15_depthwise_relu (ReLU)  (None, 7, 7, 960)    0           block_15_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_15_project (Conv2D)       (None, 7, 7, 160)    153600      block_15_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_15_project_BN (BatchNorma (None, 7, 7, 160)    640         block_15_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_15_add (Add)              (None, 7, 7, 160)    0           block_14_add[0][0]               \n",
            "                                                                 block_15_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_16_expand (Conv2D)        (None, 7, 7, 960)    153600      block_15_add[0][0]               \n",
            "__________________________________________________________________________________________________\n",
            "block_16_expand_BN (BatchNormal (None, 7, 7, 960)    3840        block_16_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_16_expand_relu (ReLU)     (None, 7, 7, 960)    0           block_16_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_16_depthwise (DepthwiseCo (None, 7, 7, 960)    8640        block_16_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_16_depthwise_BN (BatchNor (None, 7, 7, 960)    3840        block_16_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_16_depthwise_relu (ReLU)  (None, 7, 7, 960)    0           block_16_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_16_project (Conv2D)       (None, 7, 7, 320)    307200      block_16_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_16_project_BN (BatchNorma (None, 7, 7, 320)    1280        block_16_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "Conv_1 (Conv2D)                 (None, 7, 7, 1280)   409600      block_16_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "Conv_1_bn (BatchNormalization)  (None, 7, 7, 1280)   5120        Conv_1[0][0]                     \n",
            "__________________________________________________________________________________________________\n",
            "out_relu (ReLU)                 (None, 7, 7, 1280)   0           Conv_1_bn[0][0]                  \n",
            "==================================================================================================\n",
            "Total params: 2,257,984\n",
            "Trainable params: 2,223,872\n",
            "Non-trainable params: 34,112\n",
            "__________________________________________________________________________________________________\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "II17J-xr3qnQ",
        "colab_type": "code",
        "outputId": "f81a7d11-5409-4150-b464-aa85f8ce7de9",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        }
      },
      "source": [
        "av1 = GlobalAveragePooling2D()(mobile_model.output)\n",
        "fc1 = Dense(256,activation='relu')(av1)\n",
        "d1 = Dropout(0.5)(fc1)\n",
        "fc2 = Dense(3,activation='softmax')(d1)\n",
        "\n",
        "model_new = Model(mobile_model.input,fc2)\n",
        "model_new.summary()"
      ],
      "execution_count": 32,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Model: \"model_1\"\n",
            "__________________________________________________________________________________________________\n",
            "Layer (type)                    Output Shape         Param #     Connected to                     \n",
            "==================================================================================================\n",
            "input_2 (InputLayer)            [(None, 224, 224, 3) 0                                            \n",
            "__________________________________________________________________________________________________\n",
            "Conv1_pad (ZeroPadding2D)       (None, 225, 225, 3)  0           input_2[0][0]                    \n",
            "__________________________________________________________________________________________________\n",
            "Conv1 (Conv2D)                  (None, 112, 112, 32) 864         Conv1_pad[0][0]                  \n",
            "__________________________________________________________________________________________________\n",
            "bn_Conv1 (BatchNormalization)   (None, 112, 112, 32) 128         Conv1[0][0]                      \n",
            "__________________________________________________________________________________________________\n",
            "Conv1_relu (ReLU)               (None, 112, 112, 32) 0           bn_Conv1[0][0]                   \n",
            "__________________________________________________________________________________________________\n",
            "expanded_conv_depthwise (Depthw (None, 112, 112, 32) 288         Conv1_relu[0][0]                 \n",
            "__________________________________________________________________________________________________\n",
            "expanded_conv_depthwise_BN (Bat (None, 112, 112, 32) 128         expanded_conv_depthwise[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "expanded_conv_depthwise_relu (R (None, 112, 112, 32) 0           expanded_conv_depthwise_BN[0][0] \n",
            "__________________________________________________________________________________________________\n",
            "expanded_conv_project (Conv2D)  (None, 112, 112, 16) 512         expanded_conv_depthwise_relu[0][0\n",
            "__________________________________________________________________________________________________\n",
            "expanded_conv_project_BN (Batch (None, 112, 112, 16) 64          expanded_conv_project[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_1_expand (Conv2D)         (None, 112, 112, 96) 1536        expanded_conv_project_BN[0][0]   \n",
            "__________________________________________________________________________________________________\n",
            "block_1_expand_BN (BatchNormali (None, 112, 112, 96) 384         block_1_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_1_expand_relu (ReLU)      (None, 112, 112, 96) 0           block_1_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_1_pad (ZeroPadding2D)     (None, 113, 113, 96) 0           block_1_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_1_depthwise (DepthwiseCon (None, 56, 56, 96)   864         block_1_pad[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_1_depthwise_BN (BatchNorm (None, 56, 56, 96)   384         block_1_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_1_depthwise_relu (ReLU)   (None, 56, 56, 96)   0           block_1_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_1_project (Conv2D)        (None, 56, 56, 24)   2304        block_1_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_1_project_BN (BatchNormal (None, 56, 56, 24)   96          block_1_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_2_expand (Conv2D)         (None, 56, 56, 144)  3456        block_1_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_2_expand_BN (BatchNormali (None, 56, 56, 144)  576         block_2_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_2_expand_relu (ReLU)      (None, 56, 56, 144)  0           block_2_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_2_depthwise (DepthwiseCon (None, 56, 56, 144)  1296        block_2_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_2_depthwise_BN (BatchNorm (None, 56, 56, 144)  576         block_2_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_2_depthwise_relu (ReLU)   (None, 56, 56, 144)  0           block_2_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_2_project (Conv2D)        (None, 56, 56, 24)   3456        block_2_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_2_project_BN (BatchNormal (None, 56, 56, 24)   96          block_2_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_2_add (Add)               (None, 56, 56, 24)   0           block_1_project_BN[0][0]         \n",
            "                                                                 block_2_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_3_expand (Conv2D)         (None, 56, 56, 144)  3456        block_2_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_3_expand_BN (BatchNormali (None, 56, 56, 144)  576         block_3_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_3_expand_relu (ReLU)      (None, 56, 56, 144)  0           block_3_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_3_pad (ZeroPadding2D)     (None, 57, 57, 144)  0           block_3_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_3_depthwise (DepthwiseCon (None, 28, 28, 144)  1296        block_3_pad[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_3_depthwise_BN (BatchNorm (None, 28, 28, 144)  576         block_3_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_3_depthwise_relu (ReLU)   (None, 28, 28, 144)  0           block_3_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_3_project (Conv2D)        (None, 28, 28, 32)   4608        block_3_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_3_project_BN (BatchNormal (None, 28, 28, 32)   128         block_3_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_4_expand (Conv2D)         (None, 28, 28, 192)  6144        block_3_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_4_expand_BN (BatchNormali (None, 28, 28, 192)  768         block_4_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_4_expand_relu (ReLU)      (None, 28, 28, 192)  0           block_4_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_4_depthwise (DepthwiseCon (None, 28, 28, 192)  1728        block_4_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_4_depthwise_BN (BatchNorm (None, 28, 28, 192)  768         block_4_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_4_depthwise_relu (ReLU)   (None, 28, 28, 192)  0           block_4_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_4_project (Conv2D)        (None, 28, 28, 32)   6144        block_4_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_4_project_BN (BatchNormal (None, 28, 28, 32)   128         block_4_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_4_add (Add)               (None, 28, 28, 32)   0           block_3_project_BN[0][0]         \n",
            "                                                                 block_4_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_5_expand (Conv2D)         (None, 28, 28, 192)  6144        block_4_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_5_expand_BN (BatchNormali (None, 28, 28, 192)  768         block_5_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_5_expand_relu (ReLU)      (None, 28, 28, 192)  0           block_5_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_5_depthwise (DepthwiseCon (None, 28, 28, 192)  1728        block_5_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_5_depthwise_BN (BatchNorm (None, 28, 28, 192)  768         block_5_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_5_depthwise_relu (ReLU)   (None, 28, 28, 192)  0           block_5_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_5_project (Conv2D)        (None, 28, 28, 32)   6144        block_5_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_5_project_BN (BatchNormal (None, 28, 28, 32)   128         block_5_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_5_add (Add)               (None, 28, 28, 32)   0           block_4_add[0][0]                \n",
            "                                                                 block_5_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_6_expand (Conv2D)         (None, 28, 28, 192)  6144        block_5_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_6_expand_BN (BatchNormali (None, 28, 28, 192)  768         block_6_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_6_expand_relu (ReLU)      (None, 28, 28, 192)  0           block_6_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_6_pad (ZeroPadding2D)     (None, 29, 29, 192)  0           block_6_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_6_depthwise (DepthwiseCon (None, 14, 14, 192)  1728        block_6_pad[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_6_depthwise_BN (BatchNorm (None, 14, 14, 192)  768         block_6_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_6_depthwise_relu (ReLU)   (None, 14, 14, 192)  0           block_6_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_6_project (Conv2D)        (None, 14, 14, 64)   12288       block_6_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_6_project_BN (BatchNormal (None, 14, 14, 64)   256         block_6_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_7_expand (Conv2D)         (None, 14, 14, 384)  24576       block_6_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_7_expand_BN (BatchNormali (None, 14, 14, 384)  1536        block_7_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_7_expand_relu (ReLU)      (None, 14, 14, 384)  0           block_7_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_7_depthwise (DepthwiseCon (None, 14, 14, 384)  3456        block_7_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_7_depthwise_BN (BatchNorm (None, 14, 14, 384)  1536        block_7_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_7_depthwise_relu (ReLU)   (None, 14, 14, 384)  0           block_7_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_7_project (Conv2D)        (None, 14, 14, 64)   24576       block_7_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_7_project_BN (BatchNormal (None, 14, 14, 64)   256         block_7_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_7_add (Add)               (None, 14, 14, 64)   0           block_6_project_BN[0][0]         \n",
            "                                                                 block_7_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_8_expand (Conv2D)         (None, 14, 14, 384)  24576       block_7_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_8_expand_BN (BatchNormali (None, 14, 14, 384)  1536        block_8_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_8_expand_relu (ReLU)      (None, 14, 14, 384)  0           block_8_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_8_depthwise (DepthwiseCon (None, 14, 14, 384)  3456        block_8_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_8_depthwise_BN (BatchNorm (None, 14, 14, 384)  1536        block_8_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_8_depthwise_relu (ReLU)   (None, 14, 14, 384)  0           block_8_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_8_project (Conv2D)        (None, 14, 14, 64)   24576       block_8_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_8_project_BN (BatchNormal (None, 14, 14, 64)   256         block_8_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_8_add (Add)               (None, 14, 14, 64)   0           block_7_add[0][0]                \n",
            "                                                                 block_8_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_9_expand (Conv2D)         (None, 14, 14, 384)  24576       block_8_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_9_expand_BN (BatchNormali (None, 14, 14, 384)  1536        block_9_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_9_expand_relu (ReLU)      (None, 14, 14, 384)  0           block_9_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_9_depthwise (DepthwiseCon (None, 14, 14, 384)  3456        block_9_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_9_depthwise_BN (BatchNorm (None, 14, 14, 384)  1536        block_9_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_9_depthwise_relu (ReLU)   (None, 14, 14, 384)  0           block_9_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_9_project (Conv2D)        (None, 14, 14, 64)   24576       block_9_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_9_project_BN (BatchNormal (None, 14, 14, 64)   256         block_9_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_9_add (Add)               (None, 14, 14, 64)   0           block_8_add[0][0]                \n",
            "                                                                 block_9_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_10_expand (Conv2D)        (None, 14, 14, 384)  24576       block_9_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_10_expand_BN (BatchNormal (None, 14, 14, 384)  1536        block_10_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_10_expand_relu (ReLU)     (None, 14, 14, 384)  0           block_10_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_10_depthwise (DepthwiseCo (None, 14, 14, 384)  3456        block_10_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_10_depthwise_BN (BatchNor (None, 14, 14, 384)  1536        block_10_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_10_depthwise_relu (ReLU)  (None, 14, 14, 384)  0           block_10_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_10_project (Conv2D)       (None, 14, 14, 96)   36864       block_10_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_10_project_BN (BatchNorma (None, 14, 14, 96)   384         block_10_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_11_expand (Conv2D)        (None, 14, 14, 576)  55296       block_10_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_11_expand_BN (BatchNormal (None, 14, 14, 576)  2304        block_11_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_11_expand_relu (ReLU)     (None, 14, 14, 576)  0           block_11_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_11_depthwise (DepthwiseCo (None, 14, 14, 576)  5184        block_11_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_11_depthwise_BN (BatchNor (None, 14, 14, 576)  2304        block_11_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_11_depthwise_relu (ReLU)  (None, 14, 14, 576)  0           block_11_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_11_project (Conv2D)       (None, 14, 14, 96)   55296       block_11_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_11_project_BN (BatchNorma (None, 14, 14, 96)   384         block_11_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_11_add (Add)              (None, 14, 14, 96)   0           block_10_project_BN[0][0]        \n",
            "                                                                 block_11_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_12_expand (Conv2D)        (None, 14, 14, 576)  55296       block_11_add[0][0]               \n",
            "__________________________________________________________________________________________________\n",
            "block_12_expand_BN (BatchNormal (None, 14, 14, 576)  2304        block_12_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_12_expand_relu (ReLU)     (None, 14, 14, 576)  0           block_12_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_12_depthwise (DepthwiseCo (None, 14, 14, 576)  5184        block_12_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_12_depthwise_BN (BatchNor (None, 14, 14, 576)  2304        block_12_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_12_depthwise_relu (ReLU)  (None, 14, 14, 576)  0           block_12_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_12_project (Conv2D)       (None, 14, 14, 96)   55296       block_12_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_12_project_BN (BatchNorma (None, 14, 14, 96)   384         block_12_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_12_add (Add)              (None, 14, 14, 96)   0           block_11_add[0][0]               \n",
            "                                                                 block_12_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_13_expand (Conv2D)        (None, 14, 14, 576)  55296       block_12_add[0][0]               \n",
            "__________________________________________________________________________________________________\n",
            "block_13_expand_BN (BatchNormal (None, 14, 14, 576)  2304        block_13_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_13_expand_relu (ReLU)     (None, 14, 14, 576)  0           block_13_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_13_pad (ZeroPadding2D)    (None, 15, 15, 576)  0           block_13_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_13_depthwise (DepthwiseCo (None, 7, 7, 576)    5184        block_13_pad[0][0]               \n",
            "__________________________________________________________________________________________________\n",
            "block_13_depthwise_BN (BatchNor (None, 7, 7, 576)    2304        block_13_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_13_depthwise_relu (ReLU)  (None, 7, 7, 576)    0           block_13_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_13_project (Conv2D)       (None, 7, 7, 160)    92160       block_13_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_13_project_BN (BatchNorma (None, 7, 7, 160)    640         block_13_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_14_expand (Conv2D)        (None, 7, 7, 960)    153600      block_13_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_14_expand_BN (BatchNormal (None, 7, 7, 960)    3840        block_14_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_14_expand_relu (ReLU)     (None, 7, 7, 960)    0           block_14_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_14_depthwise (DepthwiseCo (None, 7, 7, 960)    8640        block_14_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_14_depthwise_BN (BatchNor (None, 7, 7, 960)    3840        block_14_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_14_depthwise_relu (ReLU)  (None, 7, 7, 960)    0           block_14_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_14_project (Conv2D)       (None, 7, 7, 160)    153600      block_14_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_14_project_BN (BatchNorma (None, 7, 7, 160)    640         block_14_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_14_add (Add)              (None, 7, 7, 160)    0           block_13_project_BN[0][0]        \n",
            "                                                                 block_14_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_15_expand (Conv2D)        (None, 7, 7, 960)    153600      block_14_add[0][0]               \n",
            "__________________________________________________________________________________________________\n",
            "block_15_expand_BN (BatchNormal (None, 7, 7, 960)    3840        block_15_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_15_expand_relu (ReLU)     (None, 7, 7, 960)    0           block_15_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_15_depthwise (DepthwiseCo (None, 7, 7, 960)    8640        block_15_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_15_depthwise_BN (BatchNor (None, 7, 7, 960)    3840        block_15_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_15_depthwise_relu (ReLU)  (None, 7, 7, 960)    0           block_15_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_15_project (Conv2D)       (None, 7, 7, 160)    153600      block_15_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_15_project_BN (BatchNorma (None, 7, 7, 160)    640         block_15_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_15_add (Add)              (None, 7, 7, 160)    0           block_14_add[0][0]               \n",
            "                                                                 block_15_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_16_expand (Conv2D)        (None, 7, 7, 960)    153600      block_15_add[0][0]               \n",
            "__________________________________________________________________________________________________\n",
            "block_16_expand_BN (BatchNormal (None, 7, 7, 960)    3840        block_16_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_16_expand_relu (ReLU)     (None, 7, 7, 960)    0           block_16_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_16_depthwise (DepthwiseCo (None, 7, 7, 960)    8640        block_16_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_16_depthwise_BN (BatchNor (None, 7, 7, 960)    3840        block_16_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_16_depthwise_relu (ReLU)  (None, 7, 7, 960)    0           block_16_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_16_project (Conv2D)       (None, 7, 7, 320)    307200      block_16_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_16_project_BN (BatchNorma (None, 7, 7, 320)    1280        block_16_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "Conv_1 (Conv2D)                 (None, 7, 7, 1280)   409600      block_16_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "Conv_1_bn (BatchNormalization)  (None, 7, 7, 1280)   5120        Conv_1[0][0]                     \n",
            "__________________________________________________________________________________________________\n",
            "out_relu (ReLU)                 (None, 7, 7, 1280)   0           Conv_1_bn[0][0]                  \n",
            "__________________________________________________________________________________________________\n",
            "global_average_pooling2d_2 (Glo (None, 1280)         0           out_relu[0][0]                   \n",
            "__________________________________________________________________________________________________\n",
            "dense_4 (Dense)                 (None, 256)          327936      global_average_pooling2d_2[0][0] \n",
            "__________________________________________________________________________________________________\n",
            "dropout_2 (Dropout)             (None, 256)          0           dense_4[0][0]                    \n",
            "__________________________________________________________________________________________________\n",
            "dense_5 (Dense)                 (None, 3)            771         dropout_2[0][0]                  \n",
            "==================================================================================================\n",
            "Total params: 2,586,691\n",
            "Trainable params: 2,552,579\n",
            "Non-trainable params: 34,112\n",
            "__________________________________________________________________________________________________\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "cOPrHs0W4Mm7",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "adam = tf.keras.optimizers.Adam(lr=0.00003)\n",
        "model_new.compile(loss='categorical_crossentropy',optimizer=adam,metrics=['accuracy'])"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "aqos60qx4r2y",
        "colab_type": "code",
        "outputId": "89696b1b-f5a6-4a2f-a419-dcb5c3801297",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        }
      },
      "source": [
        "for ix in range(len(model_new.layers)):\n",
        "  print(ix,model_new.layers[ix])"
      ],
      "execution_count": 34,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "0 <tensorflow.python.keras.engine.input_layer.InputLayer object at 0x7f8fe0af3240>\n",
            "1 <tensorflow.python.keras.layers.convolutional.ZeroPadding2D object at 0x7f8fe0af3748>\n",
            "2 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe0a7a748>\n",
            "3 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe0aeae48>\n",
            "4 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fe0aeadd8>\n",
            "5 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fe0ad0080>\n",
            "6 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe0b4e978>\n",
            "7 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fe0b4e898>\n",
            "8 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe0bc15c0>\n",
            "9 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe0c72048>\n",
            "10 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe0c694e0>\n",
            "11 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe0d83748>\n",
            "12 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fe0d83208>\n",
            "13 <tensorflow.python.keras.layers.convolutional.ZeroPadding2D object at 0x7f8fe0d83d68>\n",
            "14 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fe0d161d0>\n",
            "15 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe0e002b0>\n",
            "16 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fe0e005c0>\n",
            "17 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe0df7f98>\n",
            "18 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe0e836d8>\n",
            "19 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe0e83cc0>\n",
            "20 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe0faf390>\n",
            "21 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fe0fa4c50>\n",
            "22 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fe0fa4438>\n",
            "23 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe102d0b8>\n",
            "24 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fe102d4a8>\n",
            "25 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe10217f0>\n",
            "26 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe0da72e8>\n",
            "27 <tensorflow.python.keras.layers.merge.Add object at 0x7f8fe0da7a58>\n",
            "28 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe0da7a90>\n",
            "29 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdf67c438>\n",
            "30 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdf67cf28>\n",
            "31 <tensorflow.python.keras.layers.convolutional.ZeroPadding2D object at 0x7f8fdf67cb38>\n",
            "32 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fdfa8c2e8>\n",
            "33 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdfa8cda0>\n",
            "34 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fe0e20a90>\n",
            "35 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe0e208d0>\n",
            "36 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe02acd30>\n",
            "37 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe0298470>\n",
            "38 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdfada978>\n",
            "39 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdf73eef0>\n",
            "40 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fdfad50b8>\n",
            "41 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdf73cd68>\n",
            "42 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdf7289b0>\n",
            "43 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdf7280f0>\n",
            "44 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe1046ba8>\n",
            "45 <tensorflow.python.keras.layers.merge.Add object at 0x7f8fe1067400>\n",
            "46 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe1067438>\n",
            "47 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdf785dd8>\n",
            "48 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdf75d8d0>\n",
            "49 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fdf75d4e0>\n",
            "50 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe0e673c8>\n",
            "51 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fe0e67e48>\n",
            "52 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe0e67c88>\n",
            "53 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdf7e60b8>\n",
            "54 <tensorflow.python.keras.layers.merge.Add object at 0x7f8fdf7e6828>\n",
            "55 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdf7e6860>\n",
            "56 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe101f208>\n",
            "57 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fe101fcf8>\n",
            "58 <tensorflow.python.keras.layers.convolutional.ZeroPadding2D object at 0x7f8fe101f6d8>\n",
            "59 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fe0ea60b8>\n",
            "60 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe0ea6b70>\n",
            "61 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fe0ea6eb8>\n",
            "62 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe0eb9198>\n",
            "63 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe02eba90>\n",
            "64 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe02d1240>\n",
            "65 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe0f88748>\n",
            "66 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fe0f88f28>\n",
            "67 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fe0fc42b0>\n",
            "68 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdf7a9b38>\n",
            "69 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdf7a9e48>\n",
            "70 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdee775f8>\n",
            "71 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe0f3fa20>\n",
            "72 <tensorflow.python.keras.layers.merge.Add object at 0x7f8fe0f0c1d0>\n",
            "73 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe0f0c208>\n",
            "74 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe034fb00>\n",
            "75 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fe03806a0>\n",
            "76 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fe03802b0>\n",
            "77 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdfce0a90>\n",
            "78 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdf83ac18>\n",
            "79 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdf83aa58>\n",
            "80 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdf889eb8>\n",
            "81 <tensorflow.python.keras.layers.merge.Add object at 0x7f8fdf86f5f8>\n",
            "82 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdf86f630>\n",
            "83 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdf049f98>\n",
            "84 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdf03eac8>\n",
            "85 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fdf03e6d8>\n",
            "86 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdfc525f8>\n",
            "87 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdfc52da0>\n",
            "88 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdfc52d68>\n",
            "89 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdfc9b2b0>\n",
            "90 <tensorflow.python.keras.layers.merge.Add object at 0x7f8fdfc9ba20>\n",
            "91 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdfc9ba58>\n",
            "92 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdfb7f400>\n",
            "93 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdfb7fef0>\n",
            "94 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fdfb7fba8>\n",
            "95 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdfa29470>\n",
            "96 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdfa299b0>\n",
            "97 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdfbb2470>\n",
            "98 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdfbcb6d8>\n",
            "99 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdfbcbfd0>\n",
            "100 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdfa003c8>\n",
            "101 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdfa00e80>\n",
            "102 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fdfa00b38>\n",
            "103 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe1091780>\n",
            "104 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fe1091f60>\n",
            "105 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe10b6438>\n",
            "106 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdfb39668>\n",
            "107 <tensorflow.python.keras.layers.merge.Add object at 0x7f8fdfb39e48>\n",
            "108 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdfb2a240>\n",
            "109 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdfb237b8>\n",
            "110 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdfb23f60>\n",
            "111 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fdeffd320>\n",
            "112 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdf00eba8>\n",
            "113 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdf00eeb8>\n",
            "114 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdfbf9240>\n",
            "115 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdfbf1a90>\n",
            "116 <tensorflow.python.keras.layers.merge.Add object at 0x7f8fdfbe5240>\n",
            "117 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdfbe5278>\n",
            "118 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdeccdc18>\n",
            "119 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdecc6710>\n",
            "120 <tensorflow.python.keras.layers.convolutional.ZeroPadding2D object at 0x7f8fdecc60f0>\n",
            "121 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fdebbea90>\n",
            "122 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdebc47f0>\n",
            "123 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdebc4da0>\n",
            "124 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdebc4b70>\n",
            "125 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdee474a8>\n",
            "126 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdee47c88>\n",
            "127 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe11442e8>\n",
            "128 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fe1144c50>\n",
            "129 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fe1144860>\n",
            "130 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe10ef780>\n",
            "131 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fe10efef0>\n",
            "132 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe10efd30>\n",
            "133 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fe10d6438>\n",
            "134 <tensorflow.python.keras.layers.merge.Add object at 0x7f8fe10d6d68>\n",
            "135 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fe10d69b0>\n",
            "136 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdeed7588>\n",
            "137 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdeed7e10>\n",
            "138 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fdeeea080>\n",
            "139 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdf99b978>\n",
            "140 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdf99bc88>\n",
            "141 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdf993d30>\n",
            "142 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fded2c860>\n",
            "143 <tensorflow.python.keras.layers.merge.Add object at 0x7f8fded0fe80>\n",
            "144 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fded190f0>\n",
            "145 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fded169b0>\n",
            "146 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdec3d518>\n",
            "147 <tensorflow.python.keras.layers.convolutional.DepthwiseConv2D object at 0x7f8fdec3d1d0>\n",
            "148 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdec49da0>\n",
            "149 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdec1ea58>\n",
            "150 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdec1e898>\n",
            "151 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdf8cecf8>\n",
            "152 <tensorflow.python.keras.layers.convolutional.Conv2D object at 0x7f8fdf8c7438>\n",
            "153 <tensorflow.python.keras.layers.normalization_v2.BatchNormalization object at 0x7f8fdf901940>\n",
            "154 <tensorflow.python.keras.layers.advanced_activations.ReLU object at 0x7f8fdf8d3ef0>\n",
            "155 <tensorflow.python.keras.layers.pooling.GlobalAveragePooling2D object at 0x7f8fdf95d278>\n",
            "156 <tensorflow.python.keras.layers.core.Dense object at 0x7f8fdf95d198>\n",
            "157 <tensorflow.python.keras.layers.core.Dropout object at 0x7f8fdf95d5c0>\n",
            "158 <tensorflow.python.keras.layers.core.Dense object at 0x7f8fdf95dcc0>\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "q7x4GEHr4tVO",
        "colab_type": "code",
        "outputId": "d5f7fecd-21a4-4e58-b14a-417df923255f",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 1000
        }
      },
      "source": [
        "for ix in range(72):\n",
        "  model_new.layers[ix].trainable = False\n",
        "\n",
        "model_new.compile(loss='categorical_crossentropy',optimizer=adam,metrics=['accuracy'])\n",
        "model_new.summary()"
      ],
      "execution_count": 35,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Model: \"model_1\"\n",
            "__________________________________________________________________________________________________\n",
            "Layer (type)                    Output Shape         Param #     Connected to                     \n",
            "==================================================================================================\n",
            "input_2 (InputLayer)            [(None, 224, 224, 3) 0                                            \n",
            "__________________________________________________________________________________________________\n",
            "Conv1_pad (ZeroPadding2D)       (None, 225, 225, 3)  0           input_2[0][0]                    \n",
            "__________________________________________________________________________________________________\n",
            "Conv1 (Conv2D)                  (None, 112, 112, 32) 864         Conv1_pad[0][0]                  \n",
            "__________________________________________________________________________________________________\n",
            "bn_Conv1 (BatchNormalization)   (None, 112, 112, 32) 128         Conv1[0][0]                      \n",
            "__________________________________________________________________________________________________\n",
            "Conv1_relu (ReLU)               (None, 112, 112, 32) 0           bn_Conv1[0][0]                   \n",
            "__________________________________________________________________________________________________\n",
            "expanded_conv_depthwise (Depthw (None, 112, 112, 32) 288         Conv1_relu[0][0]                 \n",
            "__________________________________________________________________________________________________\n",
            "expanded_conv_depthwise_BN (Bat (None, 112, 112, 32) 128         expanded_conv_depthwise[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "expanded_conv_depthwise_relu (R (None, 112, 112, 32) 0           expanded_conv_depthwise_BN[0][0] \n",
            "__________________________________________________________________________________________________\n",
            "expanded_conv_project (Conv2D)  (None, 112, 112, 16) 512         expanded_conv_depthwise_relu[0][0\n",
            "__________________________________________________________________________________________________\n",
            "expanded_conv_project_BN (Batch (None, 112, 112, 16) 64          expanded_conv_project[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_1_expand (Conv2D)         (None, 112, 112, 96) 1536        expanded_conv_project_BN[0][0]   \n",
            "__________________________________________________________________________________________________\n",
            "block_1_expand_BN (BatchNormali (None, 112, 112, 96) 384         block_1_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_1_expand_relu (ReLU)      (None, 112, 112, 96) 0           block_1_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_1_pad (ZeroPadding2D)     (None, 113, 113, 96) 0           block_1_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_1_depthwise (DepthwiseCon (None, 56, 56, 96)   864         block_1_pad[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_1_depthwise_BN (BatchNorm (None, 56, 56, 96)   384         block_1_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_1_depthwise_relu (ReLU)   (None, 56, 56, 96)   0           block_1_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_1_project (Conv2D)        (None, 56, 56, 24)   2304        block_1_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_1_project_BN (BatchNormal (None, 56, 56, 24)   96          block_1_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_2_expand (Conv2D)         (None, 56, 56, 144)  3456        block_1_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_2_expand_BN (BatchNormali (None, 56, 56, 144)  576         block_2_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_2_expand_relu (ReLU)      (None, 56, 56, 144)  0           block_2_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_2_depthwise (DepthwiseCon (None, 56, 56, 144)  1296        block_2_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_2_depthwise_BN (BatchNorm (None, 56, 56, 144)  576         block_2_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_2_depthwise_relu (ReLU)   (None, 56, 56, 144)  0           block_2_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_2_project (Conv2D)        (None, 56, 56, 24)   3456        block_2_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_2_project_BN (BatchNormal (None, 56, 56, 24)   96          block_2_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_2_add (Add)               (None, 56, 56, 24)   0           block_1_project_BN[0][0]         \n",
            "                                                                 block_2_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_3_expand (Conv2D)         (None, 56, 56, 144)  3456        block_2_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_3_expand_BN (BatchNormali (None, 56, 56, 144)  576         block_3_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_3_expand_relu (ReLU)      (None, 56, 56, 144)  0           block_3_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_3_pad (ZeroPadding2D)     (None, 57, 57, 144)  0           block_3_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_3_depthwise (DepthwiseCon (None, 28, 28, 144)  1296        block_3_pad[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_3_depthwise_BN (BatchNorm (None, 28, 28, 144)  576         block_3_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_3_depthwise_relu (ReLU)   (None, 28, 28, 144)  0           block_3_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_3_project (Conv2D)        (None, 28, 28, 32)   4608        block_3_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_3_project_BN (BatchNormal (None, 28, 28, 32)   128         block_3_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_4_expand (Conv2D)         (None, 28, 28, 192)  6144        block_3_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_4_expand_BN (BatchNormali (None, 28, 28, 192)  768         block_4_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_4_expand_relu (ReLU)      (None, 28, 28, 192)  0           block_4_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_4_depthwise (DepthwiseCon (None, 28, 28, 192)  1728        block_4_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_4_depthwise_BN (BatchNorm (None, 28, 28, 192)  768         block_4_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_4_depthwise_relu (ReLU)   (None, 28, 28, 192)  0           block_4_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_4_project (Conv2D)        (None, 28, 28, 32)   6144        block_4_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_4_project_BN (BatchNormal (None, 28, 28, 32)   128         block_4_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_4_add (Add)               (None, 28, 28, 32)   0           block_3_project_BN[0][0]         \n",
            "                                                                 block_4_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_5_expand (Conv2D)         (None, 28, 28, 192)  6144        block_4_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_5_expand_BN (BatchNormali (None, 28, 28, 192)  768         block_5_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_5_expand_relu (ReLU)      (None, 28, 28, 192)  0           block_5_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_5_depthwise (DepthwiseCon (None, 28, 28, 192)  1728        block_5_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_5_depthwise_BN (BatchNorm (None, 28, 28, 192)  768         block_5_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_5_depthwise_relu (ReLU)   (None, 28, 28, 192)  0           block_5_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_5_project (Conv2D)        (None, 28, 28, 32)   6144        block_5_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_5_project_BN (BatchNormal (None, 28, 28, 32)   128         block_5_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_5_add (Add)               (None, 28, 28, 32)   0           block_4_add[0][0]                \n",
            "                                                                 block_5_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_6_expand (Conv2D)         (None, 28, 28, 192)  6144        block_5_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_6_expand_BN (BatchNormali (None, 28, 28, 192)  768         block_6_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_6_expand_relu (ReLU)      (None, 28, 28, 192)  0           block_6_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_6_pad (ZeroPadding2D)     (None, 29, 29, 192)  0           block_6_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_6_depthwise (DepthwiseCon (None, 14, 14, 192)  1728        block_6_pad[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_6_depthwise_BN (BatchNorm (None, 14, 14, 192)  768         block_6_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_6_depthwise_relu (ReLU)   (None, 14, 14, 192)  0           block_6_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_6_project (Conv2D)        (None, 14, 14, 64)   12288       block_6_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_6_project_BN (BatchNormal (None, 14, 14, 64)   256         block_6_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_7_expand (Conv2D)         (None, 14, 14, 384)  24576       block_6_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_7_expand_BN (BatchNormali (None, 14, 14, 384)  1536        block_7_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_7_expand_relu (ReLU)      (None, 14, 14, 384)  0           block_7_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_7_depthwise (DepthwiseCon (None, 14, 14, 384)  3456        block_7_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_7_depthwise_BN (BatchNorm (None, 14, 14, 384)  1536        block_7_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_7_depthwise_relu (ReLU)   (None, 14, 14, 384)  0           block_7_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_7_project (Conv2D)        (None, 14, 14, 64)   24576       block_7_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_7_project_BN (BatchNormal (None, 14, 14, 64)   256         block_7_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_7_add (Add)               (None, 14, 14, 64)   0           block_6_project_BN[0][0]         \n",
            "                                                                 block_7_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_8_expand (Conv2D)         (None, 14, 14, 384)  24576       block_7_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_8_expand_BN (BatchNormali (None, 14, 14, 384)  1536        block_8_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_8_expand_relu (ReLU)      (None, 14, 14, 384)  0           block_8_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_8_depthwise (DepthwiseCon (None, 14, 14, 384)  3456        block_8_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_8_depthwise_BN (BatchNorm (None, 14, 14, 384)  1536        block_8_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_8_depthwise_relu (ReLU)   (None, 14, 14, 384)  0           block_8_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_8_project (Conv2D)        (None, 14, 14, 64)   24576       block_8_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_8_project_BN (BatchNormal (None, 14, 14, 64)   256         block_8_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_8_add (Add)               (None, 14, 14, 64)   0           block_7_add[0][0]                \n",
            "                                                                 block_8_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_9_expand (Conv2D)         (None, 14, 14, 384)  24576       block_8_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_9_expand_BN (BatchNormali (None, 14, 14, 384)  1536        block_9_expand[0][0]             \n",
            "__________________________________________________________________________________________________\n",
            "block_9_expand_relu (ReLU)      (None, 14, 14, 384)  0           block_9_expand_BN[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_9_depthwise (DepthwiseCon (None, 14, 14, 384)  3456        block_9_expand_relu[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_9_depthwise_BN (BatchNorm (None, 14, 14, 384)  1536        block_9_depthwise[0][0]          \n",
            "__________________________________________________________________________________________________\n",
            "block_9_depthwise_relu (ReLU)   (None, 14, 14, 384)  0           block_9_depthwise_BN[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_9_project (Conv2D)        (None, 14, 14, 64)   24576       block_9_depthwise_relu[0][0]     \n",
            "__________________________________________________________________________________________________\n",
            "block_9_project_BN (BatchNormal (None, 14, 14, 64)   256         block_9_project[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_9_add (Add)               (None, 14, 14, 64)   0           block_8_add[0][0]                \n",
            "                                                                 block_9_project_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_10_expand (Conv2D)        (None, 14, 14, 384)  24576       block_9_add[0][0]                \n",
            "__________________________________________________________________________________________________\n",
            "block_10_expand_BN (BatchNormal (None, 14, 14, 384)  1536        block_10_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_10_expand_relu (ReLU)     (None, 14, 14, 384)  0           block_10_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_10_depthwise (DepthwiseCo (None, 14, 14, 384)  3456        block_10_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_10_depthwise_BN (BatchNor (None, 14, 14, 384)  1536        block_10_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_10_depthwise_relu (ReLU)  (None, 14, 14, 384)  0           block_10_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_10_project (Conv2D)       (None, 14, 14, 96)   36864       block_10_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_10_project_BN (BatchNorma (None, 14, 14, 96)   384         block_10_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_11_expand (Conv2D)        (None, 14, 14, 576)  55296       block_10_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_11_expand_BN (BatchNormal (None, 14, 14, 576)  2304        block_11_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_11_expand_relu (ReLU)     (None, 14, 14, 576)  0           block_11_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_11_depthwise (DepthwiseCo (None, 14, 14, 576)  5184        block_11_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_11_depthwise_BN (BatchNor (None, 14, 14, 576)  2304        block_11_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_11_depthwise_relu (ReLU)  (None, 14, 14, 576)  0           block_11_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_11_project (Conv2D)       (None, 14, 14, 96)   55296       block_11_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_11_project_BN (BatchNorma (None, 14, 14, 96)   384         block_11_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_11_add (Add)              (None, 14, 14, 96)   0           block_10_project_BN[0][0]        \n",
            "                                                                 block_11_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_12_expand (Conv2D)        (None, 14, 14, 576)  55296       block_11_add[0][0]               \n",
            "__________________________________________________________________________________________________\n",
            "block_12_expand_BN (BatchNormal (None, 14, 14, 576)  2304        block_12_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_12_expand_relu (ReLU)     (None, 14, 14, 576)  0           block_12_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_12_depthwise (DepthwiseCo (None, 14, 14, 576)  5184        block_12_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_12_depthwise_BN (BatchNor (None, 14, 14, 576)  2304        block_12_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_12_depthwise_relu (ReLU)  (None, 14, 14, 576)  0           block_12_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_12_project (Conv2D)       (None, 14, 14, 96)   55296       block_12_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_12_project_BN (BatchNorma (None, 14, 14, 96)   384         block_12_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_12_add (Add)              (None, 14, 14, 96)   0           block_11_add[0][0]               \n",
            "                                                                 block_12_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_13_expand (Conv2D)        (None, 14, 14, 576)  55296       block_12_add[0][0]               \n",
            "__________________________________________________________________________________________________\n",
            "block_13_expand_BN (BatchNormal (None, 14, 14, 576)  2304        block_13_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_13_expand_relu (ReLU)     (None, 14, 14, 576)  0           block_13_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_13_pad (ZeroPadding2D)    (None, 15, 15, 576)  0           block_13_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_13_depthwise (DepthwiseCo (None, 7, 7, 576)    5184        block_13_pad[0][0]               \n",
            "__________________________________________________________________________________________________\n",
            "block_13_depthwise_BN (BatchNor (None, 7, 7, 576)    2304        block_13_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_13_depthwise_relu (ReLU)  (None, 7, 7, 576)    0           block_13_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_13_project (Conv2D)       (None, 7, 7, 160)    92160       block_13_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_13_project_BN (BatchNorma (None, 7, 7, 160)    640         block_13_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_14_expand (Conv2D)        (None, 7, 7, 960)    153600      block_13_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_14_expand_BN (BatchNormal (None, 7, 7, 960)    3840        block_14_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_14_expand_relu (ReLU)     (None, 7, 7, 960)    0           block_14_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_14_depthwise (DepthwiseCo (None, 7, 7, 960)    8640        block_14_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_14_depthwise_BN (BatchNor (None, 7, 7, 960)    3840        block_14_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_14_depthwise_relu (ReLU)  (None, 7, 7, 960)    0           block_14_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_14_project (Conv2D)       (None, 7, 7, 160)    153600      block_14_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_14_project_BN (BatchNorma (None, 7, 7, 160)    640         block_14_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_14_add (Add)              (None, 7, 7, 160)    0           block_13_project_BN[0][0]        \n",
            "                                                                 block_14_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_15_expand (Conv2D)        (None, 7, 7, 960)    153600      block_14_add[0][0]               \n",
            "__________________________________________________________________________________________________\n",
            "block_15_expand_BN (BatchNormal (None, 7, 7, 960)    3840        block_15_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_15_expand_relu (ReLU)     (None, 7, 7, 960)    0           block_15_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_15_depthwise (DepthwiseCo (None, 7, 7, 960)    8640        block_15_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_15_depthwise_BN (BatchNor (None, 7, 7, 960)    3840        block_15_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_15_depthwise_relu (ReLU)  (None, 7, 7, 960)    0           block_15_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_15_project (Conv2D)       (None, 7, 7, 160)    153600      block_15_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_15_project_BN (BatchNorma (None, 7, 7, 160)    640         block_15_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "block_15_add (Add)              (None, 7, 7, 160)    0           block_14_add[0][0]               \n",
            "                                                                 block_15_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "block_16_expand (Conv2D)        (None, 7, 7, 960)    153600      block_15_add[0][0]               \n",
            "__________________________________________________________________________________________________\n",
            "block_16_expand_BN (BatchNormal (None, 7, 7, 960)    3840        block_16_expand[0][0]            \n",
            "__________________________________________________________________________________________________\n",
            "block_16_expand_relu (ReLU)     (None, 7, 7, 960)    0           block_16_expand_BN[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_16_depthwise (DepthwiseCo (None, 7, 7, 960)    8640        block_16_expand_relu[0][0]       \n",
            "__________________________________________________________________________________________________\n",
            "block_16_depthwise_BN (BatchNor (None, 7, 7, 960)    3840        block_16_depthwise[0][0]         \n",
            "__________________________________________________________________________________________________\n",
            "block_16_depthwise_relu (ReLU)  (None, 7, 7, 960)    0           block_16_depthwise_BN[0][0]      \n",
            "__________________________________________________________________________________________________\n",
            "block_16_project (Conv2D)       (None, 7, 7, 320)    307200      block_16_depthwise_relu[0][0]    \n",
            "__________________________________________________________________________________________________\n",
            "block_16_project_BN (BatchNorma (None, 7, 7, 320)    1280        block_16_project[0][0]           \n",
            "__________________________________________________________________________________________________\n",
            "Conv_1 (Conv2D)                 (None, 7, 7, 1280)   409600      block_16_project_BN[0][0]        \n",
            "__________________________________________________________________________________________________\n",
            "Conv_1_bn (BatchNormalization)  (None, 7, 7, 1280)   5120        Conv_1[0][0]                     \n",
            "__________________________________________________________________________________________________\n",
            "out_relu (ReLU)                 (None, 7, 7, 1280)   0           Conv_1_bn[0][0]                  \n",
            "__________________________________________________________________________________________________\n",
            "global_average_pooling2d_2 (Glo (None, 1280)         0           out_relu[0][0]                   \n",
            "__________________________________________________________________________________________________\n",
            "dense_4 (Dense)                 (None, 256)          327936      global_average_pooling2d_2[0][0] \n",
            "__________________________________________________________________________________________________\n",
            "dropout_2 (Dropout)             (None, 256)          0           dense_4[0][0]                    \n",
            "__________________________________________________________________________________________________\n",
            "dense_5 (Dense)                 (None, 3)            771         dropout_2[0][0]                  \n",
            "==================================================================================================\n",
            "Total params: 2,586,691\n",
            "Trainable params: 2,421,763\n",
            "Non-trainable params: 164,928\n",
            "__________________________________________________________________________________________________\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "0ENovzLV44gn",
        "colab_type": "code",
        "outputId": "8b508f04-3529-44c0-c2a6-f308745665bd",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 989
        }
      },
      "source": [
        "hist = model_new.fit(XTrain,YTrain,shuffle=True,batch_size=16,epochs=28,validation_split=0.2)"
      ],
      "execution_count": 36,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Epoch 1/28\n",
            "34/34 [==============================] - 4s 127ms/step - loss: 0.9825 - accuracy: 0.5585 - val_loss: 0.8416 - val_accuracy: 0.6842\n",
            "Epoch 2/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.5746 - accuracy: 0.7925 - val_loss: 0.7556 - val_accuracy: 0.7068\n",
            "Epoch 3/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.3741 - accuracy: 0.8698 - val_loss: 0.7027 - val_accuracy: 0.7519\n",
            "Epoch 4/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.3171 - accuracy: 0.9075 - val_loss: 0.6533 - val_accuracy: 0.7820\n",
            "Epoch 5/28\n",
            "34/34 [==============================] - 3s 80ms/step - loss: 0.2522 - accuracy: 0.9226 - val_loss: 0.6344 - val_accuracy: 0.7744\n",
            "Epoch 6/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.1844 - accuracy: 0.9415 - val_loss: 0.6051 - val_accuracy: 0.7594\n",
            "Epoch 7/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.1853 - accuracy: 0.9642 - val_loss: 0.5925 - val_accuracy: 0.7594\n",
            "Epoch 8/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.1475 - accuracy: 0.9792 - val_loss: 0.5677 - val_accuracy: 0.7820\n",
            "Epoch 9/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.1050 - accuracy: 0.9679 - val_loss: 0.5452 - val_accuracy: 0.7895\n",
            "Epoch 10/28\n",
            "34/34 [==============================] - 3s 80ms/step - loss: 0.1194 - accuracy: 0.9774 - val_loss: 0.5429 - val_accuracy: 0.7895\n",
            "Epoch 11/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0962 - accuracy: 0.9849 - val_loss: 0.5039 - val_accuracy: 0.8120\n",
            "Epoch 12/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0784 - accuracy: 0.9830 - val_loss: 0.5061 - val_accuracy: 0.8045\n",
            "Epoch 13/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0926 - accuracy: 0.9906 - val_loss: 0.4787 - val_accuracy: 0.8045\n",
            "Epoch 14/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0522 - accuracy: 0.9887 - val_loss: 0.4738 - val_accuracy: 0.8271\n",
            "Epoch 15/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0662 - accuracy: 0.9925 - val_loss: 0.4468 - val_accuracy: 0.8271\n",
            "Epoch 16/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0364 - accuracy: 0.9962 - val_loss: 0.4298 - val_accuracy: 0.8271\n",
            "Epoch 17/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0493 - accuracy: 0.9925 - val_loss: 0.4310 - val_accuracy: 0.8271\n",
            "Epoch 18/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0345 - accuracy: 0.9925 - val_loss: 0.4299 - val_accuracy: 0.8346\n",
            "Epoch 19/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0293 - accuracy: 0.9962 - val_loss: 0.4183 - val_accuracy: 0.8496\n",
            "Epoch 20/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0257 - accuracy: 0.9981 - val_loss: 0.3940 - val_accuracy: 0.8571\n",
            "Epoch 21/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0239 - accuracy: 0.9962 - val_loss: 0.3729 - val_accuracy: 0.8647\n",
            "Epoch 22/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0362 - accuracy: 0.9962 - val_loss: 0.3784 - val_accuracy: 0.8571\n",
            "Epoch 23/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0202 - accuracy: 1.0000 - val_loss: 0.3680 - val_accuracy: 0.8647\n",
            "Epoch 24/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0145 - accuracy: 0.9981 - val_loss: 0.3660 - val_accuracy: 0.8647\n",
            "Epoch 25/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0174 - accuracy: 0.9962 - val_loss: 0.3562 - val_accuracy: 0.8722\n",
            "Epoch 26/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0437 - accuracy: 0.9925 - val_loss: 0.3587 - val_accuracy: 0.8797\n",
            "Epoch 27/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0535 - accuracy: 0.9925 - val_loss: 0.4342 - val_accuracy: 0.8571\n",
            "Epoch 28/28\n",
            "34/34 [==============================] - 3s 81ms/step - loss: 0.0129 - accuracy: 1.0000 - val_loss: 0.3723 - val_accuracy: 0.8797\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "7R-wiK1b48vi",
        "colab_type": "code",
        "outputId": "57fc0ce5-7450-4154-f743-f6405e2c90e3",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 265
        }
      },
      "source": [
        "h = hist.history\n",
        "\n",
        "# Visualizing loss\n",
        "plt.plot(h['loss'],'r',label='Loss')\n",
        "plt.plot(h['val_loss'],'b',label='Val Loss')\n",
        "plt.legend()\n",
        "plt.show()"
      ],
      "execution_count": 37,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD4CAYAAAD8Zh1EAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deXyU1fXH8c8JCQQIsm9ClEWtiESiUVGUpSq4FcQVflikVlGqtYpVaG3d6oZbqRZb0aqAKK61qCBaN8SVgAgCVUFQQQRkR1bJ/f1xEhMgwCSZyWRmvu/X63nN5Mlk5j5MOLlz77nnWggBERFJfGnxboCIiESHArqISJJQQBcRSRIK6CIiSUIBXUQkSaTH64UbNWoUWrVqFa+XFxFJSNOnT/8+hNC4tO/FLaC3atWK/Pz8eL28iEhCMrOvdvc9DbmIiCQJBXQRkSSx14BuZo+Y2XIz+3Q33zczu8/M5pvZLDM7PPrNFBGRvYlkDP0x4O/AmN18/xTgwMLjaOAfhbciIjvYtm0bixcvZvPmzfFuSpWXmZlJy5YtycjIiPhn9hrQQwhTzKzVHh7SGxgTvCjMB2ZWz8yahxCWRtwKEUkJixcvpk6dOrRq1Qozi3dzqqwQAitXrmTx4sW0bt064p+Lxhh6C+CbEl8vLjy3CzMbZGb5Zpa/YsWKKLy0iCSSzZs307BhQwXzvTAzGjZsWOZPMpU6KRpCGBVCyAsh5DVuXGoapYgkOQXzyJTn3ykaAX0JkF3i65aF52Jj6lQYNgxU9ldEZAfRCOgTgAGF2S6dgLUxHT+fPh2GDwcN2YhIOWRlZcW7CTGz10lRM3sS6AY0MrPFwA1ABkAI4Z/AROBUYD6wEfhVrBoLQNu2frtgATRpEtOXEhFJJHvtoYcQ+oUQmocQMkIILUMI/woh/LMwmBPcZSGEtiGEDiGE2K7nLwroX34Z05cRkdQxc+ZMOnXqRE5ODn369GH16tUA3HfffRxyyCHk5OTQt29fAN5++206duxIx44dyc3NZf369fFs+g7iVsul3IoKei1YENdmiEgFXXklzJwZ3efs2BFGjCjzjw0YMID777+frl27cv3113PTTTcxYsQI7rjjDhYuXEiNGjVYs2YNAHfffTcjR46kc+fObNiwgczMzOheQwUk3tL/mjWhRQsFdBGJirVr17JmzRq6du0KwAUXXMCUKVMAyMnJoX///jz++OOkp3v/t3PnzgwZMoT77ruPNWvW/HS+Kqg6LSmLtm0V0EUSXTl60pXt5ZdfZsqUKbz44ovceuutzJ49m2HDhnHaaacxceJEOnfuzOTJkzn44IPj3VQgEXvo4AFdY+giEgV169alfv36vPPOOwCMHTuWrl27UlBQwDfffEP37t0ZPnw4a9euZcOGDSxYsIAOHTowdOhQjjzySP73v//F+QqKJWYPvU0bWLoUNm6EWrXi3RoRSSAbN26kZcuWP309ZMgQRo8ezaWXXsrGjRtp06YNjz76KNu3b+f8889n7dq1hBC44oorqFevHn/+85958803SUtLo3379pxyyilxvJodJWZAL5npcuih8W2LiCSUgoKCUs9/8MEHu5ybOnXqLufuv//+qLcpWhJ3yAU07CIiUkJiBvQ2bfxWE6MiIj9JzIDesCHss48CuohICYkZ0M2U6SIispPEDOjgwy7qoYuI/CRxA3rbtrBwIWzfHu+WiIhUCYkd0LdtgyWxK70uIsmle/fuTJ48eYdzI0aMYPDgwbv9mW7dupGfv2vNwd2dj6fEDuigYRcRiVi/fv0YP378DufGjx9Pv3794tSi6ErcgK7URREpo7PPPpuXX36ZrVu3ArBo0SK+/fZbjj/+eAYPHkxeXh7t27fnhhtuKNfzr1q1ijPOOIOcnBw6derErFmzgNJL7i5dupQuXbrQsWNHDj300J9KD1REYq4UBcjOhvR0ZbqIJKh4VM9t0KABRx11FJMmTaJ3796MHz+ec889FzPj1ltvpUGDBmzfvp0TTjiBWbNmkZOTU6bXv+GGG8jNzeWFF17gjTfeYMCAAcycObPUkrujRo2iZ8+eXHfddWzfvp2NGzdW8OoTuYeenu610dVDF5EyKDnsUnK45emnn+bwww8nNzeXOXPmMHfu3DI/99SpU/nlL38JwM9//nNWrlzJunXrSi25e+SRR/Loo49y4403Mnv2bOrUqVPha0vcHjoodVEkgcWrem7v3r256qqrmDFjBhs3buSII45g4cKF3H333UybNo369eszcOBANm/eHLXXLK3kbpcuXZgyZQovv/wyAwcOZMiQIQwYMKBCr5O4PXRQXXQRKbOsrCy6d+/OhRde+FPvfN26ddSuXZu6deuybNkyJk2aVK7nPv744xk3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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "j2gNpxUN5OWH",
        "colab_type": "code",
        "outputId": "f37f60c2-0324-4dc7-c025-c21b9c63c0b0",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 265
        }
      },
      "source": [
        "# Visualizing accuracy\n",
        "plt.plot(h['accuracy'],'r',label='Acc')\n",
        "plt.plot(h['val_accuracy'],'b',label='Val Acc')\n",
        "plt.legend()\n",
        "plt.show()"
      ],
      "execution_count": 38,
      "outputs": [
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<Figure size 432x288 with 1 Axes>"
            ]
          },
          "metadata": {
            "tags": [],
            "needs_background": "light"
          }
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "kVXDEgbf5Q6U",
        "colab_type": "code",
        "outputId": "404737a0-2712-4a5b-ab20-7ca09fb8a586",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 51
        }
      },
      "source": [
        "model_new.evaluate(XTrain,YTrain)"
      ],
      "execution_count": 39,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "21/21 [==============================] - 2s 93ms/step - loss: 0.1774 - accuracy: 0.9427\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "[0.17737944424152374, 0.9426847696304321]"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 39
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "xsYUcDwC-3qr",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "m6yx2_T4_3pb",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 51
        },
        "outputId": "436821d1-f857-4aae-e239-1ce00a09b532"
      },
      "source": [
        "keras_file = \"Mini Pokemon MobilenetV2 Model\"\n",
        "model_new.save(keras_file)"
      ],
      "execution_count": 40,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:Assets written to: Mini Pokemon MobilenetV2 Model/assets\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "stream",
          "text": [
            "INFO:tensorflow:Assets written to: Mini Pokemon MobilenetV2 Model/assets\n"
          ],
          "name": "stderr"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "v4FuqVQ8_8yQ",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "converter = tf.lite.TFLiteConverter.from_saved_model(keras_file)"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "JyRlC99Nkwex",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "tflite_model = converter.convert()"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "KbRuEqsnkyvU",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "2efb8e29-cb84-4a91-a426-4b6378311f0b"
      },
      "source": [
        "open('mini_pokemon_mobilenetv2.tflite','wb').write(tflite_model)"
      ],
      "execution_count": 43,
      "outputs": [
        {
          "output_type": "execute_result",
          "data": {
            "text/plain": [
              "10163176"
            ]
          },
          "metadata": {
            "tags": []
          },
          "execution_count": 43
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "DHotU7TXk3P1",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 68
        },
        "outputId": "d725bccc-0afc-4cf2-d708-c66c34cef927"
      },
      "source": [
        "!ls"
      ],
      "execution_count": 50,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            " drive\t\t\t\t'Mini Pokemon MobilenetV2 Model'\n",
            "'Mini Pokemon Mobilenet Model'\t mini_pokemon_mobilenetv2.tflite\n",
            " mini_pokemon_mobilenet.tflite\t sample_data\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "SNbfdqGWk5gR",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "from google.colab import files"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "4_4T3FQ1k7rx",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        "files.download('mini_pokemon_mobilenetv2.tflite')"
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "cell_type": "code",
      "metadata": {
        "id": "kFmaMVWgk_p8",
        "colab_type": "code",
        "colab": {}
      },
      "source": [
        ""
      ],
      "execution_count": 0,
      "outputs": []
    }
  ]
}